function [RSELM_Weight, RSELM_bias] = generate_RSELM_Weight(data_train, rand_label, random_indices, RSELM_threshold,Deactivation_ratio)
    RSELM_Weight = [];
    RSELM_bias = [];
    
    % 获取 data_train 的列数
    [~, num_cols] = size(data_train);
    if num_cols > 900
        % 计算要置零的列数
        num_cols_to_zero = round(Deactivation_ratio * num_cols);
        % 生成一个长度为 num_cols 的随机排列
        random_cols = randperm(num_cols);
        % 将前 num_cols_to_zero 列的数据置为 0
        data_train(:, random_cols(1:num_cols_to_zero)) = 0;
    end
    RSELM_list = find_different_pairs(rand_label);
    
    if ~isempty(RSELM_list)
        RSELM_list = [random_indices(RSELM_list(:, 1)), random_indices(RSELM_list(:, 2))];
        
        for i = 1:size(RSELM_list, 1)
            sample_temp1 = data_train(RSELM_list(i, 1), 2:end);
            sample_temp2 = data_train(RSELM_list(i, 2), 2:end);
            
            Weight_temp = sample_temp1 + sample_temp2;
            NormWeight = dot(Weight_temp, Weight_temp);
            
            if NormWeight >= RSELM_threshold
                Weight_temp = Weight_temp ./ (NormWeight / 2);
                bias_temp = rand(1, 1);
                
                RSELM_Weight = [RSELM_Weight; Weight_temp];
                RSELM_bias = [RSELM_bias, bias_temp];
            end
        end
    end
end
